Existing computer applications are able to perform a variety of tasks that are useful and enjoyable for computer users. However, to perform a desired task, a user often must find the application the user wants to use, and launch the application. Then, the user must find the task or entry point for the action within the application. Then, the user must make one or more appropriate selections within the application (such as by depressing keyboard keys, giving voice commands, or making mouse clicks) before the application performs a desired task.
Presently, operating systems provide a variety of utilities that assist a user in conveniently launching applications and instructing applications to perform tasks. In some instances, operating systems have attempted to expedite launching applications by promoting frequently used applications to a list. This list of applications is typically viewable upon accessing a main application menu. However, this list often handles a small number of applications. In addition, those applications will only perform tasks after the user provides user input to launch the application and then provides additional input to the running application, such as entering a particular application environment or opening a file in the application.
Some operating systems have provided more convenient ways to perform tasks with applications that are currently running. For example, a list of commands may be provided when a user executes a mouse click while the cursor is within the running application window or within a button corresponding to the running application. As another example, notification icons are sometimes provided for applications that are running in the background, and a user can view a list of available tasks for such an application by executing a mouse click with the cursor hovering over the application's notification icon. However, often this still requires a user to select an application and launch it before such lists become available. An operating system can be configured to launch applications automatically when a user logs into the operating system, but this often takes up valuable system resources at times when the application is not being used.
As another example of operating systems attempting to make it more convenient to perform desired tasks, some operating systems allow the registration of general services. Once registered, the services can be selected by users to perform tasks on associated data. However, such lists of services are not conveniently associated with representations of applications that a user may want to launch to perform desired tasks.